<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>css下拉菜单</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      background-color: #1e1e1e;
      background-image: url(https://static.pexels.com/photos/8395/lights-night-unsharp-blured.jpg);
      background-size: cover;
      height: 100vh;

      font-family: "Raleway", sans-serif;
      letter-spacing: 1px;
    }

    h1 {
      text-align: center;
      color: #fff;
      padding-top: 20px;
    }

    ul {
      list-style: none;
    }

    nav {
      height: 40px;
      margin: 40px auto;
      background-color: rgba(23, 23, 50, 0.7);
      text-align: center;
      border-radius: 4px;
    }

    .main {
      display: flex;
      justify-content: center;
    }

    .main>li {
      margin: 0 2%
    }

    .main>li a {
      border-left: 1px solid rgba(23, 23, 50, 1);
    }

    a {
      text-decoration: none;
      color: #ffe;
      /* 首字母转换为大写 */
      text-transform: capitalize;
      font-family: monospace;
      display: block;
      padding: 10px 15px;
      font-size: 16px;
      transition: background-color 0.5s ease-in-out;
      font-family: "Raleway", sans-serif;
    }

    a:hover {
      background-color: #631818;
    }

    .drop li {
      opacity: 0;
      transform-origin: top center;
    }

    .drop li a {
      background-color: rgba(23, 23, 50, 0.7);
      padding: 10px 0;
    }

    /* 下拉菜单1 动画 逐个出现 */
    .main li:hover .menu1 li:first-of-type {
      animation: menu1 0.3s ease-in-out forwards;
      animation-delay: 0.3s;
    }

    .main li:hover .menu1 li:nth-of-type(2) {
      animation: menu1 0.3s ease-in-out forwards;
      animation-delay: 0.6s;
    }

    .main li:hover .menu1 li:nth-of-type(3) {
      animation: menu1 0.3s ease-in-out forwards;
      animation-delay: 0.9s;
    }

    .main li:hover .menu1 li:last-of-type {
      animation: menu1 0.3s ease-in-out forwards;
      animation-delay: 1.2s;
    }

    /* 出现使带有旋转角度 */
    @keyframes menu1 {
      from {
        opacity: 0;
        transform: translateX(30px) rotateY(90deg);
      }

      to {
        opacity: 1;
        transform: translateX(0) rotateY(0);
      }
    }

    /* 下拉菜单2 逐个出现 从上到下*/
    .main li:hover .menu2 li:first-of-type {
      animation: menu2 0.3s ease-in-out forwards;
      animation-delay: 0.3s;
    }

    .main li:hover .menu2 li:nth-of-type(2) {
      animation: menu2 0.3s ease-in-out forwards;
      animation-delay: 0.6s;
    }

    .main li:hover .menu2 li:nth-of-type(3) {
      animation: menu2 0.3s ease-in-out forwards;
      animation-delay: 0.9s;
    }

    .main li:hover .menu2 li:last-of-type {
      animation: menu2 0.3s ease-in-out forwards;
      animation-delay: 1.2s;
    }

    /* 从小到大伴随透明度的增加，结束前有从大到正常的回弹 */
    @keyframes menu2 {
      0% {
        opacity: 0;
        transform: scale(0.7);
      }

      50% {
        opacity: 0.5;
        transform: scale(1.3);
      }

      100% {
        opacity: 1;
        transform: scale(1);
      }
    }

    /* 下拉菜单3 逐个从右边翻转出现 */
    .main li:hover .menu3 li:first-of-type {
      animation: menu3 0.3s ease-in-out forwards;
      animation-delay: 0.3s;
    }

    .main li:hover .menu3 li:nth-of-type(2) {
      animation: menu3 0.3s ease-in-out forwards;
      animation-delay: 0.6s;
    }

    .main li:hover .menu3 li:nth-of-type(3) {
      animation: menu3 0.3s ease-in-out forwards;
      animation-delay: 0.9s;
    }

    .main li:hover .menu3 li:last-of-type {
      animation: menu3 0.3s ease-in-out forwards;
      animation-delay: 1.2s;
    }

    /* 右向左平滑伴随透明度增加 */
    @keyframes menu3 {
      0% {
        opacity: 0;
        transform: translateX(20px);
      }

      100% {
        opacity: 1;
        transform: translateX(0);
      }
    }

    /* 下拉屏幕4 绕Y轴回转出现 */
    .main li:hover .menu4 li:first-of-type {
      animation: menu4 0.3s ease-in-out forwards;
      animation-delay: 0.3s;
    }

    .main li:hover .menu4 li:nth-of-type(2) {
      animation: menu4 0.3s ease-in-out forwards;
      animation-delay: 0.6s;
    }

    .main li:hover .menu4 li:nth-of-type(3) {
      animation: menu4 0.3s ease-in-out forwards;
      animation-delay: 0.9s;
    }

    .main li:hover .menu4 li:last-of-type {
      animation: menu4 0.3s ease-in-out forwards;
      animation-delay: 1.2s;
    }

    @keyframes menu4 {
      0% {
        opacity: 0;
        transform: translateX(50px) rotate(-90deg);
      }

      100% {
        opacity: 1;
        transform: translateX(0) rotate(0);
      }
    }

    /* 下拉菜单5 上到下出现 */
    .main li:hover .menu5 li:first-of-type {
      perspective: 600px;
      animation: menu5 0.3s ease-in-out forwards;
      animation-delay: 0.3s;
    }

    .main li:hover .menu5 li:nth-of-type(2) {
      animation: menu5 0.3s ease-in-out forwards;
      animation-delay: 0.6s;
    }

    .main li:hover .menu5 li:nth-of-type(3) {
      animation: menu5 0.3s ease-in-out forwards;
      animation-delay: 0.9s;
    }

    .main li:hover .menu5 li:last-of-type {
      animation: menu5 0.3s ease-in-out forwards;
      animation-delay: 1.2s;
    }

    /* X轴逆时针转动 即屏幕上放下往下翻 */
    @keyframes menu5 {
      0% {
        opacity: 0;
        transform: rotateX(-90deg);
      }

      100% {
        opacity: 1;
        transform: rotateX(0);
      }
    }

    /* 下拉菜单 伴随缩放依次落下 */
    .main li:hover .menu6 li:first-of-type {
      animation: menu6 0.3s ease-in-out forwards;
      animation-delay: 0.2s;
    }

    .main li:hover .menu6 li:nth-of-type(2) {
      animation: menu6 0.3s ease-in-out forwards;
      animation-delay: 0.4s;
    }

    .main li:hover .menu6 li:nth-of-type(3) {
      animation: menu6 0.3s ease-in-out forwards;
      animation-delay: 0.6s;
    }

    .main li:hover .menu6 li:last-of-type {
      animation: menu6 0.3s ease-in-out forwards;
      animation-delay: 0.8s;
    }

    @keyframes menu6 {
      0% {
        opacity: 0;
        transform: scale(2);
      }

      100% {
        opacity: 1;
        transform: scale(1);
      }
    }

    .white-mode {
      text-decoration: none;
      padding: 7px 10px;
      background-color: #122;
      border-radius: 3px;
      color: #fff;
      transition: 0.35s ease-in-out;
      position: absolute;
      left: 15px;
      bottom: 15px;
      font-family: sans-serif;
    }

    .white-mode:hover {
      background-color: #fff;
      color: #122;
    }
  </style>
</head>

<body>
  <h1>纯 CSS 下拉菜单</h1>
  <nav>
    <ul class="main">
      <li>
        <a href="#">主页</a>
        <ul class="drop menu1">
          <li><a href="#">主页</a></li>
          <li><a href="#">新闻</a></li>
          <li><a href="#">联系</a></li>
          <li><a href="#">关于</a></li>
        </ul>
      </li>
      <li><a href="#">新闻</a>
        <ul class="drop menu2">
          <li><a href="#">主页</a></li>
          <li><a href="#">新闻</a></li>
          <li><a href="#">联系</a></li>
          <li><a href="#">关于</a></li>
        </ul>
      </li>
      <li><a href="#">联系</a>
        <ul class="drop menu3">
          <li><a href="#">主页</a></li>
          <li><a href="#">新闻</a></li>
          <li><a href="#">联系</a></li>
          <li><a href="#">关于</a></li>
        </ul>
      </li>
      <li><a href="#">工作</a>
        <ul class="drop menu4">
          <li><a href="#">主页</a></li>
          <li><a href="#">新闻</a></li>
          <li><a href="#">联系</a></li>
          <li><a href="#">关于</a></li>
        </ul>
      </li>
      <li><a href="#">团队</a>
        <ul class="drop menu5">
          <li><a href="#">主页</a></li>
          <li><a href="#">新闻</a></li>
          <li><a href="#">联系</a></li>
          <li><a href="#">关于</a></li>
        </ul>
      </li>
      <li><a href="#">关于</a>
        <ul class="drop menu6">
          <li><a href="#">主页</a></li>
          <li><a href="#">新闻</a></li>
          <li><a href="#">联系</a></li>
          <li><a href="#">关于</a></li>
        </ul>
      </li>
    </ul>
  </nav>
  <a target="_blank" href="https://codepen.io/Moslim/pen/gmzvQj" class="white-mode">来源点这里</a>
</body>

</html>